Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for musl-based Linux distributions (such as Alpine Linux) by introducing dedicated musl binaries alongside the existing glibc binaries. The implementation includes runtime detection of the libc variant and automatic fallback mechanisms.
- Adds musl libc detection logic using dynamic linker presence checks
- Introduces musl-specific binary variants for both x64 and arm64 Linux architectures
- Updates build and release workflows to produce and publish musl binaries
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| npm/app/package.json | Adds musl variants as optional dependencies for Linux x64 and arm64 |
| npm/app/index.js | Implements musl detection and fallback logic for resolving the correct binary |
| action/index.ts | Adds musl detection to select appropriate GitHub release assets |
| .github/workflows/release.yml | Adds build matrix entries for musl targets and updates package naming logic |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Closes #131
Add new musl linux builds for x86 and arm64, as we are not statically linking dependencies (because it would bloat the size of the binary): #131 (comment)
The gnu binaries keep the same NPM package name for backward compat
sherif-linux-x64/sherif-linux-arm64, but we have two new variants for muslsherif-linux-x64-musl/sherif-linux-arm64-musl. The GitHub release binaries already end with-gnuso for those, we also simply add new-muslvariants and update the GitHub Action to prefer musl if required